package com.lh.project.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 账单表
 * @TableName bill
 */
@TableName(value ="bill")
@Data
public class Bill implements Serializable {
    /**
     * 账单id，不为空，主键
     */
    @TableId(value = "bill_id")
    private Long billId;

    /**
     * 长度为4，不为空，表示取餐号，取餐号是全局唯一的
     */
    @TableField(value = "bill_number")
    private Integer billNumber;

    /**
     * 一个订单取餐结束后就会生成一个账单记录
     */
    @TableField(value = "bill_order_id")
    private Long billOrderId;

    /**
     * 支付金额不为空
     */
    @TableField(value = "bill_value")
    private Long billValue;

    /**
     * 用户id不为空
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 该账单所对应的食物id
     */
    @TableField(value = "food_id")
    private Long foodId;

    /**
     * 账单对应的食物信息
     */
    @TableField(value = "false")
    private Food food;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    @TableField(value = "false")
    private String endTime;
    /**
     * 订单失效时间，表示你必须要在失效时间之前取走食物，在确认订单的时候生成可以为空
     */
    @TableField(value = "expired_time")
    private Date expiredTime;

    /**
     *0表示未取餐未支付，1表示已取餐已支付，-1表示过期未付款，2表示过期已付款';
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * 表示此次交易是否已经完成，0表示未完成，1表示已经完成，默认是0
     */
    @TableField(value = "is_delete")
    private Integer isDelete;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}